package br.com.scitv.util;

import java.awt.event.KeyEvent;

import br.com.scitv.tela.Tela;

import com.sun.dtv.lwuit.Label;
import com.sun.dtv.ui.event.RemoteControlEvent;
import com.sun.dtv.ui.event.UserInputEvent;
import com.sun.xml.internal.ws.util.ASCIIUtility;

public class TecladoVirtual extends Tela
{
	private Label texto;
	private int letra;
	private Tela pai;

	public TecladoVirtual(Tela pai, Label texto)
	{
		letra = 0;  // 65 � a letra A
		this.texto = texto;
		this.pai = pai;
	}
	

	public void addComponentes() {

	}
	public void userInputEventReceived(UserInputEvent inputEvent) {
		KeyEvent event = (com.sun.dtv.ui.event.KeyEvent) inputEvent;
		
		if(letra == 0)
		{
			texto.setText("");
			letra = 65;
		}

		if(event.getID() == KeyEvent.KEY_RELEASED){
			return;
		}
		switch(event.getKeyCode())
		{
			case RemoteControlEvent.VK_DOWN:
			{
				letra--;
				break;
			}
			case RemoteControlEvent.VK_UP:
			{
				letra++;
				break;
			}
			case RemoteControlEvent.VK_RIGHT:
			{
				texto.setText(texto.getText()+'A');
				break;
			}
			case RemoteControlEvent.VK_ESCAPE:
			{
				System.out.println("TecladoVirtual.userInputEventReceived() - VK_ESCAPE");
				pai.iniciar();
			}
		}

		if(letra < 'A')
			letra = 'Z';
		else if(letra > 'Z')
			letra = 'A';
		
		char[] aux = texto.getText().toCharArray();
		if(aux.length > 0)
		{
			aux[aux.length-1] = (char) letra;
			texto.setText( new String(aux) );
		}
		else
		{
			texto.setText( ""+(char) letra );
		}
	}

	public Label getTexto() {
		return texto;
	}

	public void setTexto(Label texto) {
		this.texto = texto;
	}
}